package com.collect;

import java.util.HashMap;
import java.util.Iterator;


/**
 * Map是一个键值对的集合，每个键只能对应一个值。常用的实现类有HashMap和TreeMap。
 * 下面是一些常见的操作：
 */
public class Map {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        //添加元素
        map.put("apple", 1);
        map.put("banana", 2);
        map.put("orange", 3);
        //获取元素
        int a = map.get("apple");
        //删除元素
        map.remove("banana");

        // 遍历方法1: 遍历key
        for (String key : map.keySet()) {
            System.out.println("key:" + map.get(key));
        }

        // 遍历方法2: 遍历value
        for (Integer value : map.values()) {
            System.out.println(value);
        }

        // 遍历方法3: 遍历entry
        for (java.util.Map.Entry<String, Integer> entry : map.entrySet()) {
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key + ":" + value);
        }

        //遍历方法4: 使用迭代器
        Iterator<java.util.Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
        while (iterator.hasNext()){
            java.util.Map.Entry<String, Integer> entry = iterator.next();
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key + ":" + value);
        }
    }
}
